System and method to detect execution of driving maneuvers

ABSTRACT

This disclosure relates to a system and method for detecting execution of driving maneuvers based on pre-determined driving maneuver profiles. Some or all of the system may be installed in a vehicle and/or be otherwise coupled with a vehicle. In some implementations, the system may detect execution of driving maneuvers by the vehicle based on pre-determined driving maneuver profiles. The system may include one or more sensors configured to generate output signals conveying information related to the vehicle. In some implementations, the system may detect execution of the driving maneuvers by the vehicle based on a comparison of the information conveyed by the output signals from the sensors to criteria included in the pre-determined driving maneuver profiles.

FIELD

This disclosure relates to a system and method for detecting executionof driving maneuvers based on pre-determined driving maneuver profiles.

BACKGROUND

Systems configured to record, store, and transmit video, audio, andsensor data associated with a vehicle responsive to an accidentinvolving the vehicle are known. Typically, such systems detect anaccident based on data from a single sensor such as an accelerometermounted on the vehicle. The video from the accident is usually analyzedby a user at a later time after the accident. Vehicle Engine ControlModule (ECM) systems are known. Such systems interface with externalcomputers (e.g., at an automobile mechanic) where the data stored by theECM system is analyzed.

SUMMARY

One aspect of the disclosure relates to a system configured to detectexecution of driving maneuvers by a vehicle. Some or all of the systemmay be installed in the vehicle and/or be otherwise coupled with thevehicle. In some implementations, the system may detect execution ofdriving maneuvers by the vehicle based on pre-determined drivingmaneuver profiles. The system may include one or more sensors configuredto generate output signals conveying information related to the vehicle.In some implementations, the system may detect execution of the drivingmaneuvers by the vehicle based on a comparison of the informationconveyed by the output signals from the sensors to criteria included inthe pre-determined driving maneuver profiles. Advantageously, the systemmay identify dangerous driving maneuvers and/or other driving behaviorin real-time or near real-time during operation of the vehicle based onthe comparisons. In some implementations, the system may include one ormore of a sensor, a processor, a user interface, electronic storage, aremote computing device, and/or other components.

The sensors may be configured to generate output signals conveyinginformation related to the operation and/or the context of the vehicle.Information related to the operation of the vehicle may include feedbackinformation from one or more of the mechanical systems of the vehicle,and/or other information. In some implementations, at least one of thesensors may be a vehicle system sensor included in an ECM system of thevehicle. Information related to the context of the vehicle may includeinformation related to the environment in and/or around vehicle. In someimplementations, the output signals conveying the information related tothe context of the vehicle may be generated via non-standard aftermarketsensors installed in the vehicle. For example, one or more individualsensors may be and/or include an image sensor audio sensor. Based on ananalysis of an image from this sensor, the system may automatically,using algorithms, determine that the vehicle is moving forward, is inreverse, has maneuvered outside of its lane of traffic, is making aturn, and/or other maneuvers. This example sensor may be one of aplurality of sensors in the system.

One or more processors may be configured to execute one or more computerprogram modules. The computer program modules may comprise one or moreof a parameter module, a profile module, a maneuver trigger module, acontrol module, and/or other modules.

The parameter module may be configured to determine one or more vehicleparameters of the vehicle. The parameter module may determine thevehicle parameters based on the information conveyed by the outputsignals from the sensors and/or other information. The one or morevehicle parameters may be related to the operation of the vehicle, thecontext of the vehicle, physical characteristics of the vehicle, and/orother information. In some implementations, the parameter module may beconfigured to determine one or more of the vehicle parameters one ormore times in an ongoing manner during operation of the vehicle.

The profile module may be configured to obtain one or morepre-determined driving maneuver profiles. The pre-determined drivingmaneuver profiles may describe driving maneuvers associated withdangerous driving behavior, for example, and/or other driving behavior.The one or more pre-determined driving maneuver profiles may includecriteria sets associated with the driving maneuvers. The criteria setsmay include one or more individual criteria characterizing a specificdriving maneuver. For example, the specific driving maneuvers mayinclude swerving, a U-turn, freewheeling, over-revving, lane-departure,short following distance, imminent collision, unsafe turning thatapproaches rollover and/or vehicle stability limits, hard braking,and/or other driving maneuvers.

Criteria sets for maneuvers may be automatically and/or manuallyadjusted to accommodate for a vehicle type. For example, the system maydetermine that the vehicle is loaded (as described herein) and adjustedcriteria sets for various maneuver settings based on the vehicle beingloaded. The system may calibrate throttle, RPM, engine load, and/orother factors to dynamically adjust maneuver trigger points (criteriasets), for example.

The maneuver trigger module may be configured to detect execution, bythe vehicle, of a specific driving maneuver. The maneuver trigger modulemay be configured to detect execution of a specific driving maneuver inreal-time or near real-time. The maneuver trigger module may beconfigured to detect execution of a specific driving maneuver based onthe information conveyed by the output signals generated by the sensors,the vehicle parameters determined by the parameter module, thepre-determined driving maneuver profiles obtained by the profile module,and/or based on other information. A specific driving maneuver may bedetected based on the determined vehicle parameters and the obtainedpre-determined driving maneuver profiles by comparing the determinedvehicle parameters to the criteria sets such that a first specificdriving maneuver is detected responsive to the determined parameterssatisfying one or more individual criteria in a first criteria setassociated with the first specific driving maneuver.

The control module may be configured to facilitate wirelesscommunication of information conveyed by the output signals, thedetermined parameters, information identifying the specific drivingmaneuvers detected by the maneuver trigger module, and/or otherinformation to the remote computing device and/or other devices. Thecontrol module may be configured to facilitate communication responsiveto the detection of a specific driving maneuver. The control module maybe configured to facilitate communication in real-time or nearreal-time. The control module may be configured to facilitate wirelesscommunication of the information conveyed by the output signals, thedetermined parameters, the information identifying the specific drivingmaneuvers, and/or other information from a period of time that includesat least the specific driving maneuver.

In some implementations, the control module may be configured tofacilitate recording event data based on detection of driving maneuvers.Event data may include video, audio, ECM, metadata, and/or other sensordata for a period of time that lasts from before a given drivingmaneuver starts until after it ends. The period of time for which datais recorded may be determined based on the timing of the maneuver, thepoint in time at which the maneuver is detected, the type of maneuver,and/or other information.

In some implementations, the control module may be configured toselectively determine one or more types of data that are recorded basedon individual maneuvers. For example, the control module may selectivelydetermine whether to record one or more types of video data, audio data,ECM data, and/or other sensor data. Continuing with the example, if thedetected maneuver involved a vehicle moving in reverse, the controlmodule may cause a video stream from a rear-facing camera to be includedin the event record, whereas the view from the rear-facing camera maynot be needed when recording events for other (non-reversing) maneuvers.

In some implementations, the control module may be configured todetermine how much of the event data (video, audio, sensor, etc.) torecord before the maneuver (e.g., pre-maneuver duration) and after themaneuver (e.g. post-maneuver) based on the maneuver itself. This mayallow the event data to show a relevant and/or desired time frame. Forexample, if the maneuver lasted 10 seconds and the detection point is atthe end of the maneuver, post-trigger duration may be 10 seconds andpre-trigger duration may be 20 seconds such that the maneuver isproperly centered within the recorded event data (in the resulting 30second event, the maneuver start 10 seconds into the event, and ends 20seconds into the event). Similarly, in the case of a maneuver thatresults in a collision, which is detected at a point in time, the systemmay be configured to record data for a longer time interval before themaneuver detection point (so as to understand what led to thecollision), for example about 1 minute, while the time interval afterthe trigger point may be much shorter, for example about 10 seconds,because the focus of a later analysis may be on understanding the causesof collisions (for the purposes of prevention of future collisions),rather than understanding the effects (after) of the collision.

These and other objects, features, and characteristics of the systemand/or method disclosed herein, as well as the methods of operation andfunctions of the related elements of structure and the combination ofparts and economies of manufacture, will become more apparent uponconsideration of the following description and the appended claims withreference to the accompanying drawings, all of which form a part of thisspecification, wherein like reference numerals designate correspondingparts in the various figures. It is to be expressly understood, however,that the drawings are for the purpose of illustration and descriptiononly and are not intended as a definition of the limits of theinvention. As used in the specification and in the claims, the singularform of “a”, “an”, and “the” include plural referents unless the contextclearly dictates otherwise.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 illustrates a system configured to detect execution of drivingmaneuvers by a vehicle.

FIG. 2 illustrates a turn diameter of a U-turn made by the vehicle in anintersection.

FIG. 3 illustrates a method to detect execution of driving maneuvers.

FIG. 4 illustrates another method to detect execution of drivingmaneuvers

DETAILED DESCRIPTION

FIG. 1 illustrates a system 10 configured to detect execution of drivingmaneuvers by a vehicle 12. Some or all of system 10 may be installed invehicle 12 and/or be otherwise coupled with vehicle 12. In someimplementations, system 10 may detect execution of driving maneuvers byvehicle 12 based on pre-determined driving maneuver profiles. System 10may include one or more sensors 14 configured to generate output signalsconveying information related to vehicle 12. In some implementations,system 10 may detect execution of the driving maneuvers by vehicle 12based on a comparison of the information conveyed by the output signalsfrom sensors 14 to criteria included in the pre-determined drivingmaneuver profiles. In some implementations, system 10 may detectexecution of the driving maneuvers based on a comparison of parametersdetermined from the information in the output signals to the criteria.Advantageously, system 10 may identify dangerous driving maneuversand/or other driving behavior in real-time or near real-time duringoperation of vehicle 12 based on the comparisons. In someimplementations, system 10 may include one or more of sensors 14, aprocessor 16, a user interface 18, electronic storage 20, a remotecomputing device 22, and/or other components.

In some implementations, one or more of the components of system 10 mayform at least a portion of a vehicle event recorder system such as thevehicle event recorder system described in U.S. patent application Ser.No. 11/377,167 filed Mar. 16, 2006 and entitled, “Vehicle Event RecorderSystems And Networks Having Integrated Cellular Wireless CommunicationsSystems”, which is incorporated herein by reference.

One or more sensors 14 may be configured to generate output signalsconveying information related to the operation and/or the context ofvehicle 12. Information related to the operation of vehicle 12 mayinclude feedback information from one or more of the mechanical systemsof vehicle 12, and/or other information. The mechanical systems ofvehicle 12 may include, for example, the engine, the drive train, thelighting systems (e.g., headlights, brake lights), the braking system,the transmission, fuel delivery systems, and/or other mechanicalsystems. The mechanical systems of vehicle 12 may include one or moremechanical sensors, electronic sensors, and/or other sensors thatgenerate the output signals (e.g., seat belt sensors, tire pressuresensors, etc.). In some implementations, at least one of sensors 14 maybe a vehicle system sensor included in an ECM system of vehicle 12.

Information related to the context of vehicle 12 may include informationrelated to the environment in and/or around vehicle 12. The vehicleenvironment may include spaces in and around an interior and an exteriorof vehicle 12. The information related to the context of vehicle 12 mayinclude information related to movement of vehicle 12, an orientation ofvehicle 12, a geographic position of vehicle 12, a spatial position ofvehicle 12 relative to other objects, a tilt angle of vehicle 12, aninclination/declination angle of vehicle 12, and/or other information.In some implementations, the output signals conveying the informationrelated to the context of vehicle 12 may be generated via non-standardaftermarket sensors installed in vehicle 12. The non-standardaftermarket sensor may include, for example, a video camera, amicrophone, an accelerometer, a gyroscope, a geolocation sensor (e.g., aGPS device), a radar detector, a magnetometer, radar (e.g. for measuringdistance of leading vehicle), and/or other sensors. In someimplementations, the one or more sensors may include multiple cameraspositioned around the vehicle and synchronized together to provide a 360degree view of the inside of the vehicle and a 360 degree view of theoutside of the vehicle.

Although sensors 14 are depicted in FIG. 1 as a single element, this isnot intended to be limiting. Sensors 14 may include one or more sensorslocated adjacent to and/or in communication with the various mechanicalsystems of vehicle 12, in one or more positions (e.g., at or near thefront of vehicle 12) to accurately acquire information representing thevehicle environment (e.g. visual information, spatial information,orientation information), and/or in other locations. For example, insome implementations, system 10 may be configured such that a firstsensor is located near/in communication with a rotating tire of vehicle12, and a second sensor located on top of vehicle 12 is in communicationwith a geolocation satellite. In some implementations, sensors 14 areconfigured to generate output signals continuously during operation ofvehicle 12.

As shown in FIG. 1, processor 16 may be configured to execute one ormore computer program modules. The computer program modules may compriseone or more of a parameter module 30, a profile module 32, a maneuvertrigger module 34, a control module 36, and/or other modules.

Parameter module 30 may be configured to determine one or more vehicleparameters of vehicle 12. Parameter module 30 may determine the vehicleparameters based on the information conveyed by the output signals fromsensors 14, information provided by external systems and/or databases,and/or other information. The one or more vehicle parameters may berelated to the operation of vehicle 12, the context of vehicle 12,and/or other information. For example, the one or more vehicleparameters may be related to one or more of an acceleration, a directionof travel, a turn diameter, a vehicle speed, an engine speed (e.g. RPM),a duration of time, a closing distance, a lane departure from anintended travelling lane of the vehicle, a following distance, physicalcharacteristics of vehicle 12 (such as mass and/or number of axles, forexample), a tilt angle of vehicle 12, an inclination/declination angleof vehicle 12, and/or other parameters.

The physical characteristics of vehicle 12 may be physical features ofvehicle 12 set during manufacture of vehicle 12, during loading ofvehicle 12, and/or at other times. For example, the one or more vehicleparameters may include a vehicle type (e.g., a car, a bus, a semi-truck,a tanker truck), a vehicle size (e.g., length), a vehicle weight (e.g.,including cargo and/or without cargo), a number of gears, a number ofaxles, a type of load carried by vehicle 12 (e.g., food items,livestock, construction materials, hazardous materials, an oversizedload, a liquid), vehicle trailer type, trailer length, trailer weight,trailer height, a number of axles, and/or other physical features.

In some implementations, parameter module 30 may determine the one ormore vehicle parameters based on the output signals from at least twodifferent sensors. For example, parameter module 30 may determine one ormore of the vehicle parameters based on output signals from a sensor 14related to the ECM system and an external aftermarket added sensor 14.In some implementations, a determination of one or more of the vehicleparameters based on output signals from at least two different sensors14 may be more accurate and/or precise than a determination based on theoutput signals from only one sensor 14. For example, on an icy surface,output signals from an accelerometer may not convey that a driver ofvehicle 12 is applying the brakes of vehicle 12. However, a sensor incommunication with the braking system of vehicle 12 would convey thatthe driver is applying the brakes. Parameter module 30 may determine avalue of a braking parameter based on the braking sensor informationeven though the output signals from the accelerometer may not conveythat the driver is applying the brakes.

Parameter module 30 may determine vehicle parameters that are notdirectly measurable by any of the available sensors. For example, aninclinometer may not be available to measure the road grade, but vehiclespeed data as measured by a GPS system and/or by a wheel sensor ECM maybe combined with accelerometer data to determine the road grade. If anaccelerometer measures a force that is consistent with braking, but thevehicle speed remains constant, the parameter module can determine thatthe measured force is a component of the gravity vector that is actingalong the longitudinal axis of the vehicle. By using trigonometry, themagnitude of the gravity vector component can be used to determine theroad grade (e.g., pitch angle of the vehicle in respect to thehorizontal plane).

In some implementations, parameter module 30 may be configured todetermine one or more of the vehicle parameters one or more times in anongoing manner during operation of vehicle 12. In some implementations,parameter module 30 may be configured to determine one or more of thevehicle parameters at regular time intervals during operation of vehicle12. The timing of the vehicle parameter determinations (e.g., in anongoing manner, at regular time intervals, etc.) may be programmed atmanufacture, obtained responsive to user entry and/or selection oftiming information via user interface 18 and/or remote computing device22, and/or may be determined in other ways. The time intervals ofparameter determination may be significantly less (e.g. more frequent)than the time intervals at which various sensor measurements areavailable. In such cases, parameter module 30 may estimate vehicleparameters in between the actual measurements of the same vehicleparameters by the respective sensors, to the extent that the vehicleparameters are measurable. This may be established by means of aphysical model that describes the behavior of various vehicle parametersand their interdependency. For example, a vehicle speed parameter may beestimated at a rate of 20 times per second, although the underlyingspeed measurements are much less frequent (e.g., four times per secondfor ECM speed, one time per second for GPS speed). This may beaccomplished by integrating vehicle acceleration, as measured by theaccelerometer sensor where the measurements are available 1000 times persecond, across time to determine change in speed which is accumulatedover time again for the most recent vehicle speed measurement. Thebenefit of these more frequent estimates of vehicle parameters are manyand they include improved operation of the maneuver detection module 34,reduced complexity of downstream logic and system design (e.g., allvehicle parameters are updated at the same interval, rather than beingupdating irregularly and at the interval of each respective sensor), andmore pleasing (e.g., “smooth”) presentation of vehicle event recorderdata in an event player apparatus.

Profile module 32 may be configured to obtain one or more pre-determineddriving maneuver profiles. The pre-determined driving maneuver profilesmay describe driving maneuvers associated with dangerous drivingbehavior, for example, and/or other driving behavior. The pre-determineddriving maneuver profiles may be programmed at manufacture, obtained byprofile module 32 responsive to user entry and/or selection ofinformation related to pre-determined driving maneuver profiles via userinterface 18 and/or remote computing device 22, obtained from electronicstorage 20, and/or may be obtained in other ways. The one or morepre-determined driving maneuver profiles may include criteria setsassociated with the driving maneuvers. The criteria sets may include oneor more individual criteria characterizing a specific driving maneuver.In some implementations, profile module 32 may be configured such that,for example, a first individual criterion and a second individualcriterion for a first pre-determined driving maneuver profile areassociated with information conveyed by output signals from at least twodifferent sensors.

In some implementations, profile module 32 may be configured such thatthe pre-determined driving maneuver profiles describe one or moregeo-fences. An individual geo-fence may be a virtual boundary line thatdefines, represents, and/or is otherwise related to a physical area(e.g., a storage yard where fleet vehicles are stored), a point ofinterest, a segment of a road/highway/etc., and/or other physicallocations. Geo-fences may define areas where a particular maneuver isallowed. Geo-fences may define areas where a particular driving maneuveris disallowed and/or particularly dangerous (e.g., a narrow countryroad). Specific geo-fences may be associated with specific drivingmaneuvers. For example, idling may be permissible in a geo-fenced areawhere a U-turn is not permissible. In some implementations, geo-fencesmay be associated with a time of day. For example, a geo-fence maysurround a large parking lot at a mall. The geo-fence may apply onlyduring hours that the mall is open, and not, for example, during theearly morning or late night hours.

By way of a non-limiting example, the specific driving maneuvers mayinclude swerving, a U-turn, freewheeling, over-revving, lane-departure,short following, imminent collision, hard braking, rapid acceleration,and/or other driving maneuvers. Swerving may indicate an unsafe lanechange and/or other abrupt lateral movements of vehicle 12. Swerving maybe characterized by criteria including a first lateral accelerationforce in a first direction followed by a second lateral accelerationforce in a second direction, for example. A first lateral accelerationin a first direction followed by a second lateral acceleration in asecond direction may differentiate a swerve from a hard turn. Theswerving criteria may include direction criteria that specify that thesecond swerve direction is substantially opposite the first swervedirection and timing criteria that specify that the second accelerationmust follow the first acceleration within a given period of time. Theswerving criteria may include minimum vehicle speed criterion (e.g., 25miles per hour) that needs to be satisfied before a swerve trigger canbe activated. The swerving criteria may include a factor by which thefirst and second lateral force criteria are reduced gradually as thevehicle speed exceeds a predefined threshold and continues to increase.This would reflect that fact that the higher the vehicle speed, abruptlane changes (e.g. as when a vehicle swerves to avoid a collisions)become more problematic and risky.

U-turns may be risky maneuvers for large trucks, for example. A U-turnmay be characterized by criteria including a turn diameter, a totaldistance travelled while turning, an angular change in direction, and/orother criteria. In some implementations, U-turns and/or other drivingmaneuvers may be triggered at least in part based on a current locationof the vehicle, the specific driving maneuver detected, and thepre-determined geo-fences related to that maneuver. For example, system10 may identify locations where it would not trigger an event (e.g.,U-turn) and/or filter that event based on a current location of thevehicle and a maneuver type. For example in the parking lot around adistribution center with a large section of open pavement it may beacceptable for the driver to perform a U-turn given that specificlocation. This discussion of U-turns and geo-fences is not intended tobe limiting. Geo-fences and maneuver detection/filtering may applysimilarly to the other driving maneuvers described herein and/or otherdriving maneuvers.

Freewheeling may describe vehicle 12 moving without the drive train ofvehicle 12 being coupled to the engine (e.g., in neutral). Freewheelingmay be characterized by criteria including a speed of vehicle 12, anengine RPM level relative to the speed, time duration at the RPM level,and/or other criteria.

Over-revving the engine of vehicle 12 may harm the engine and/or wastefuel, for example. Over-revving may be characterized by criteriaincluding the engine RPM level of vehicle 12, a duration time at the RPMlevel, and/or other criteria.

Lane departure may occur when the driver of vehicle 12 is inattentiveand/or drowsy, for example. Lane-departure may be characterized byvehicle 12 leaving an intended roadway travelling lane more than a givennumber of times during a given time period, and/or other criteria.

Short following may be characterized by criteria including a followingdistance between vehicle 12 and a second vehicle immediately in front ofvehicle 12, time duration at the following distance, and/or othercriteria.

Imminent collision may indicate that vehicle 12 is likely to collidewith one or more other objects unless immediate evasive action is taken.Imminent collision may be characterized by criteria including a speed ofvehicle 12, a closing distance of vehicle 12 relative to one or moreother objects, and/or other criteria.

In some implementations, profile module 32 may be configured to scaleone or more of the individual criteria in the pre-determined drivingmaneuver profiles based on the output signals from sensors 14, thevehicle parameters determined by parameter module 30, and/or based onother information. For example, profile module 32 may be configured toscale the individual criteria for short following based on the type ofload carried by vehicle 12 (e.g., a liquid, a solid material, ahazardous material). Responsive to vehicle 12 carrying a hazardousmaterial, profile module 32 may scale the following distance criteria toa larger value (e.g., more distance between vehicles). As anotherexample, acceleration criteria for a swerve may be scaled with the speedof vehicle 12. In some implementations, profile module 32 may beconfigured to scale the individual criteria based on information relatedto the current roadway travelled by vehicle 12. For example, outputsignals from a geolocation sensor may convey information indicating anupcoming sharp turn in the roadway. Profile module 32 may scale speedcriteria in one or more of the pre-determined driving maneuver profilesbased on the upcoming sharp turn.

Maneuver trigger module 34 may be configured to detect execution, byvehicle 12, of a specific driving maneuver. Maneuver trigger module 34may be configured to detect execution of a specific driving maneuver inreal-time or near real-time. Maneuver trigger module 34 may beconfigured to detect execution of a specific driving maneuver based onthe information conveyed by the output signals generated by sensors 14,the vehicle parameters determined by parameter module 30, thepre-determined driving maneuver profiles obtained by profile module 32,and/or based on other information. A specific driving maneuver may bedetected based on the determined vehicle parameters and the obtainedpre-determined driving maneuver profiles by comparing the determinedvehicle parameters to the criteria sets such that a first specificdriving maneuver (e.g., a U-turn) is detected responsive to thedetermined parameters satisfying one or more individual criteria (e.g.,a turn diameter) in a first criteria set associated with the firstspecific driving maneuver. In some implementations, maneuver triggermodule 34 may be configured to filter the detected driving maneuversbased on the pre-determined geo-fences and/or other information. Otherinformation may include, for example, information generated by a remotereviewer located in a review center viewing video data in real-timeand/or at a later time. The remote reviewer may note that a specificdriving maneuver has occurred but the noted maneuver may be filtered outbecause the maneuver occurred inside a geo-fenced area where thespecific maneuver is permissible.

As described above, the specific driving maneuvers may include swerving,a U-turn, freewheeling, over-revving, lane-departure, short following,imminent collision, hard braking, rapid acceleration, and/or otherdriving maneuvers. By way of a non-limiting example, FIG. 2 illustratesa turn diameter 200 of a U-turn 201 made by vehicle 12 in anintersection 202 (e.g., a non-geo-fenced area). Output signals conveyinginformation related to turn diameter 200 may be generated by ageolocation sensor (e.g., a GPS device) and/or other sensors (e.g.,sensors 14). Parameter module 30 (shown in FIG. 1) may determine turndiameter 200, the total distance 208 travelled during the turn, theangular change in direction of vehicle 12, and/or other parameters basedon the output signals. Parameter module 30 (FIG. 1) may receivegeolocation heading information (e.g., latitude and/or longitude) ofvehicle 12 conveyed by the output signals from the geolocation sensorand determine turn diameter 200, total distance 208, the angular changein direction of vehicle 12, and/or other parameters based on thegeolocation heading information. As shown in FIG. 2, turn diameter 200is smaller than the diameter of other turns that could have been made(e.g., left turn 204) by vehicle 12 through intersection 202.

U-turn 201 may be detected by maneuver trigger module 34 (FIG. 1) basedon determined turn diameter 200, total distance 208, the angular changein direction, the U-turn diameter criteria in the pre-determined drivingmaneuver profile for a U-turn, and/or other information. Maneuvertrigger module 34 may compare determined turn diameter 200 to the turndiameter criteria (e.g., less than about 45 meters), total distance 208to the total distance criteria (e.g., less than about 45 meters), theangular change in direction of vehicle 12 to the angular change indirection criteria (e.g., greater than about 175 degrees), and/or othercriteria obtained by profile module 32 (FIG. 1) to determine whetherturn diameter 200, total travel distance 208, and/or the angular changein direction of vehicle 12 indicates a U-turn. In some implementations,U-turn 201 may be detected responsive to the U-turn criteria beingsatisfied within a given period of time after detection of the start ofa turn. In some implementations, maneuver trigger module 34 maydetermine whether the U-turn criteria have been met within a period oftime of about 50 seconds, for example, after the start of the turn.

As described above, maneuver trigger module 34 may be configured todetect maneuvers based on GPS location information for the vehicleduring the specific maneuver. GPS location information may allowmaneuver trigger module 34 to distinguish between a cloverleaf turn anda U-turn, for example. System 10 may be configured to differentiate acloverleaf turn from a U-turn based on turn diameter and adjust maneuvercriteria sets accordingly. For a U-turn, system 10 may adjust theinformation saved so that the timing of the saved information is notbased on the moment the maneuver is detected but rather a timing of adetermined apex of the turn. Information is saved for the periods oftime before and after the apex of the U-turn. In this example, system 10may not determine that a U-turn maneuver has been completed until 25seconds (for example) have passed so the system backs up 20 seconds (forexample) to the timing of the apex of the turn and saves informationfrom before and after that point in time. Timing of saving informationis described in more detail below (e.g., see the description of controlmodule 36).

Returning to FIG. 1, it should be noted that the specific criteriavalues provided herein for the U-turn example (described above withrespect to FIG. 2) and the other examples of driving maneuver criteria(described below) are not intended to be limiting. They are being usedas examples only. The individual criteria used to determine the specificdriving maneuvers may have any values that allow system 10 to functionas described herein. For example, at least some of the example valuesmay be significantly larger and/or smaller than the recited examplevalues and system 10 may still function as described. The criteria inthe pre-determined driving maneuver profiles may be programmed todifferent values at manufacture, changed to other values via entryand/or selection of information related to the pre-determined drivingmaneuver profiles via user interface 18 and/or remote computing device22, scaled to other values by profile module 32, and/or may be changedin other ways.

By way of a second non-limiting example, profile module 32 and/ormaneuver trigger module 34 may be configured such that lateral forces ofabout −0.3 g (e.g., swerve left) and/or about +0.3 g (e.g., swerveright) may be the lateral force criteria used to detect a swerve. Insome implementations, the −0.3 g and/or +0.3 g criteria may be used atvehicle 12 speeds less than about 10 kph. The −0.3 g and/or +0.3 gcriteria may be scaled as vehicle 12 increases in speed. In someimplementations, the −0.3 g and/or +0.3 g criteria may be scaled (e.g.,reduced) by about 0.0045 g per kph of speed over 10 kph. To prevent toomuch sensitivity, profile module 32 may limit the lateral force criteriato about +/−0.12 g, regardless of the speed of vehicle 12, for example.In some implementations, the criterion for the given period of timebetween swerves may be about 3 seconds.

In some implementations, specific driving maneuvers may be detectedbased on one or more of a vehicle speed, an engine load, a throttlelevel, vehicle direction, a gravitational force, and/or other parametersbeing sustained at or above threshold levels for pre-determined amountsof time. In some implementations, an acceleration and/or force thresholdmay be scaled based on a length of time an acceleration and/or force ismaintained, and/or the particular speed the vehicle is travelling.System 10 may be configured such that force maintained over a period oftime at a particular vehicle speed may decrease a threshold force thelonger that the force is maintained. System 10 may be configured suchthat, combined with engine load data, throttle data may be used todetermine a risky event, a fuel wasting event, and/or other events.

For example, a sensor output signal signature for a clover leaf turn maybe identified by a smaller g force that is sustained for a given periodof time. (In some implementations, this smaller sustained g force may becombined with other information such as engine load and/or other vehicledata). In some implementations, a 0.3 g side impact/acceleration maynormally trigger the camera and/or other devices to record an event (asdescribed above). In addition, a 0.1 g side impact/acceleration (belowthe usual 0.3 g threshold) that is sustained for 10 seconds (forexample) while the vehicle is travelling at 38 MPH (for example), maytrigger the camera, even though the 0.3 g threshold was never exceeded.These factors may indicate a clover leaf turn. It may be desirable todetect such situations because this sustained force for a class 8vehicle, for example, can be very dangerous and/or indicative of apotential rollover situation.

By way of a third non-limiting example, freewheeling may be detected bymaneuver trigger module 34 responsive to a speed of vehicle 12satisfying the freewheeling speed criteria and an engine RPM level ofvehicle 12 satisfying the engine RPM criteria. The engine RPM maysatisfy the engine RPM criteria for a duration of time that satisfiesthe freewheeling time duration criteria. In some implementations,freewheeling may be detected at speeds greater than or equal to about 30kph. In some implementations, freewheeling may be ignored at speedsbelow about 30 kph. When the speed of vehicle 12 is above about 30 kph,freewheeling may be detected responsive to the engine RPM remainingbelow about 1000 RPM for less than or equal to about 5 seconds.

By way of a fourth non-limiting example, over-revving may be detected bymaneuver trigger module 34 responsive to an engine RPM level of vehicle12 satisfying the over-revving engine RPM criteria for a duration timethat satisfies the duration time criteria. In some implementations,over-revving may be detected by maneuver trigger module 34 responsive toan engine RPM level of vehicle 12 remaining over about 5000 RPM forgreater than or equal to about 2 seconds. In some implementations,over-revving may be detected by maneuver trigger module 34 based onother data such as engine load, incline of the vehicle, throttleposition, and/or other information to determine accurately the level ofover revving for the operating condition of the vehicle.

By way of a fifth non-limiting example, lane-departure may be detectedby maneuver trigger module 34 responsive to vehicle 12 leaving anintended roadway travelling lane more than the given number of timesspecified by the lane-departure criteria during the given time periodspecified by the lane-departure criteria. In some implementations, lanedeparture may be detected responsive to vehicle 12 leaving an intendedroadway travelling lane more than about 3 times in about 60 seconds. Itshould be noted that this is only one example, and depending on thevehicle and/or how the vehicle operates, these settings may be changed.

By way of a sixth non-limiting example, short following may be detectedby maneuver trigger module 34 responsive to a following distance betweenvehicle 12 and a second vehicle immediately in front of vehicle 12 beingmaintained for a time duration that satisfies the following distancecriteria. In some implementations, short following may be detectedresponsive to the following distance between vehicle 12 and a vehicleimmediately in front of vehicle 12 meeting the following distancecriteria for a period of time greater than or equal to about 10 seconds.The 10 second time period may be an example amount of time that mayallow for brief periods of insufficient distance between vehicle 12 andthe other vehicle which may occur when the other vehicle pulls in frontof vehicle 12, reducing the following distance before the driver ofvehicle 12 has a chance to re-establish a safe following distance. Insome implementations, the short following distance threshold may be adistance between vehicles that corresponds to a 1.6 second travel time.For example, a second car may pass by a reference location about 1.6seconds after a first car passes the reference location. The shortfollowing distance threshold may be the distance covered by the secondcar in the 1.6 seconds. The 1.6 second travel time is not intended to belimiting. The short following distance threshold may be set to any valuethat allows the system to function as described herein.

By way of a seventh non-limiting example, imminent collision may bedetected by maneuver trigger module 34 responsive to a speed of vehicle12, a closing distance of vehicle 12 relative to one or more otherobjects, and/or other parameters satisfying the speed, closing distance,and/or other criteria. In some implementations, imminent collision maybe detected responsive to the speed of vehicle 12 being at or aboveabout 30 kph (e.g., to prevent inadvertent triggers in slow and/orstop-and-go traffic).

In some implementations, imminent collision may be detected based on a“Forward Collision Warning” message that is transmitted over the vehiclebus/ECM. The forward collision message may be a binary indicatorvariable (e.g., warning or no warning). In some implementations, a thirdparty active safety system may generate the forward collision message.The third party active safety system may calculate and/or otherwisedetermine the acceleration required to stop the vehicle from its currentspeed (e.g., 30 kph or 8.33 m/sec) within a specified distance (e.g., 50meters). This may be derived, for example, based on a physics formula,v²=2 (a) (d), where “v” is the starting speed, “a” is deceleration, and“d” is stopping distance. In this example, a=v²/(2d) or8.33²/(2*50)=0.69 g, which may be deemed as excessive decelerationrequired to stop the vehicle. (For example, 0.5 g may be considered tobe hard acceleration for heavy vehicles).

Control module 36 may be configured to trigger event recording (e.g.,recording of video, audio, ECM, metadata, and/or other sensor dataassociated with a maneuver) based on maneuver detection. Event data mayinclude video, audio, ECM, metadata, and/or other sensor data for aperiod of time that lasts from before a given driving maneuver startsuntil after it ends. The period of time for which data is recorded maybe determined based on the timing of the maneuver, the point in time atwhich the maneuver is detected, and/or other information. Control module36 may be configured to trigger recording of substantially all eventdata (e.g., video, audio, sensor output signals, etc.), and not just thesignals and/or parameters used for maneuver detection. Control module 36may be configured such that the event data is saved to a non-volatilememory (e.g., included in electronic storage 20) and later offloadedwirelessly via a vehicle event recorder system such as the vehicle eventrecorder system described in U.S. patent application Ser. No. 11/377,167filed Mar. 16, 2006 and entitled, “Vehicle Event Recorder Systems AndNetworks Having Integrated Cellular Wireless Communications Systems”(incorporated by reference above), and/or the vehicle event recordersystem described in U.S. patent application Ser. No. 11/377,157 filedMar. 16, 2006 and entitled, “Vehicle Event Recorder Systems and NetworksHaving Parallel Communications Links,” which is incorporated herein byreference.

In some implementations, control module 36 may be configured toselectively determine one or more types of data that are recorded basedon individual maneuvers. For example, control module 36 may selectivelydetermine whether to record one or more types of video data, audio data,ECM data, and/or other sensor data. Continuing with the example, if thedetected maneuver involved a vehicle moving in reverse, the controlmodule may cause a video stream from a rear-facing camera to be includedin the event record, whereas the view from the rear-facing camera maynot be needed when recording events for other (non-reversing) maneuvers.In some implementations, control module 36 may be configured such that,based on ECM, image analysis, and/or other information, active camerasrecording the maneuver may change. For example, the system maydetermine, based on image and\or ECM information, that the vehicle ismoving in reverse. From that information control module 36 may determinethat only (for example) information from driver facing, side, and/orrear cameras will be saved for the maneuver, and/or only (for example)information from the driver and rear camera, rather than the driver andforward facing camera will be saved (similar to the example above).

Control module 36 may be configured to facilitate wireless communicationof information conveyed by the output signals, the determinedparameters, information identifying the specific driving maneuversdetected by maneuver trigger module 34, and/or other information toremote computing device 22 and/or other devices. Control module 36 maybe configured to facilitate communication responsive to the detection ofa specific driving maneuver. The information identifying the specificdriving maneuvers detected by maneuver trigger module 34 may include,for example, the one or more vehicle parameters that satisfied thecriteria in the pre-determined driving maneuver profiles, parametervalues, the scaled criteria, and/or other information. For example, theinformation identifying a swerve detected by maneuver trigger module 34may include the actual lateral force and the scaled criteria force valuethat caused maneuver trigger module 34 to detect the swerve.

Control module 36 may be configured to facilitate communication inreal-time or near real-time. For example, control module 36 mayfacilitate one or more individual communications during operation ofvehicle 12. Each individual communication may be responsive to adetected driving maneuver and may occur just after detection of anindividual maneuver. In some implementations, control module 36 may beconfigured to facilitate communication after use of vehicle 12 hasceased such that the information conveyed by the output signals, thedetermined parameters, information identifying the specific drivingmaneuvers detected by maneuver trigger module 34, and/or otherinformation is communicated in a single communication. In someimplementations, control module 36 may be configured to associate visualinformation in the output signals of the one or more sensors (e.g.,cameras) with information related to operation and/or context of thevehicle (e.g., vehicle system sensors and/or aftermarket sensors).

Control module 36 may be configured to facilitate storage and/orwireless communication of the information conveyed by the outputsignals, the determined parameters, the information identifying thespecific driving maneuvers, and/or other information from a period oftime that includes at least the specific driving maneuver. For example,control module 36 may facilitate communication of the informationconveyed by the output signals, the determined parameters, and/or otherinformation from a period of time that begins before the beginning ofthe detected driving maneuver, lasts throughout the maneuver, and endsafter the end of the detected maneuver. Control module 36 may beconfigured such that the period of time that includes at least thespecific driving maneuver is centered around the specific drivingmaneuver and includes a pre-maneuver time, the specific drivingmaneuver, and a post-maneuver time, wherein the pre-maneuver time andthe post-maneuver time are approximately equal.

As described above, in some implementations, control module 36 may beconfigured to determine how much of the event data (video, audio,sensor, etc.) to record before the maneuver (e.g., pre-maneuverduration) and after the maneuver (e.g. post-maneuver) based on themaneuver itself. This may allow the event data to show a relevant and/ordesired time frame. For example, if the maneuver lasted 10 seconds andthe detection point is at the end of the maneuver, post-trigger durationmay be 10 seconds and pre-trigger duration may be 20 seconds such thatthe maneuver is properly centered within the recorded event data (in theresulting 30 second event, the maneuver start 10 seconds into the event,and ends 20 seconds into the event). Similarly, in the case of amaneuver that results in a collision, which is detected at a point intime, the system may be configured to record data for a longer timeinterval before the maneuver detection point (so as to understand whatled to the collision), for example about 1 minute, while the timeinterval after the trigger point may be much shorter, for example about10 seconds, because the focus of a later analysis may be onunderstanding the causes of collisions (for the purposes of preventionof future collisions), rather than understanding the effects (after) ofthe collision.

In some implementations, control module 36 may be configured tofacilitate electronic storage of the information conveyed by the outputsignals, the determined parameters, the information identifying thespecific driving maneuvers detected by maneuver trigger module 34,and/or other information. Control module 36 may be configured tofacilitate electronic storage responsive to the detection of thespecific driving maneuver. Control module 36 may facilitate electronicstorage of the information conveyed by the output signals, thedetermined parameters, the information identifying the specific drivingmaneuver, and/or other information, from the period of time thatincludes at least the specific driving maneuver. Control module 36 mayfacilitate electronic storage of the information in electronic storage20, electronic storage included in remote computing device 22, and/or inother electronic storage.

For example, responsive to detection of a swerve by maneuver triggermodule 34, control module 36 may be configured to facilitate wirelesscommunication and/or electronic storage of the information conveyed bythe output signals, the determined parameters, the informationidentifying the specific driving maneuvers detected by maneuver triggermodule 34, and/or other information. The communicated and/or storedinformation may include, for example, video images showing vehicle 12performing the specific driving maneuver, determined parameters thatcorrespond to the video images, and/or other information.

In some implementations, control module 36 may be configured tofacilitate temporary electronic storage of the information conveyed bythe output signals, the determined parameters, the informationidentifying the specific driving maneuvers detected by maneuver triggermodule 34, and/or other information in electronic storage 20 (asdescribed above). Control module 36 may be configured to facilitatetemporary electronic storage until the information is communicated toremote computing device 22. Control module 36 may be configured to erasethe data temporarily stored in electronic storage 20 responsive to thecommunication to remote computing device 22.

In some implementations, control module 36 may cause user interface 18to display an indication of the detected maneuver to a driver of vehicle12 and/or other users of system 10. In some implementations, controlmodule 36 may cause remote computing system 22 to display an indicationof the detected maneuver to a driver of vehicle 12, and/or other usersof system 10. The electronic indication may include, for example, anidentification of the detected maneuver, information related to the oneor more vehicle parameters that satisfied the criteria in apre-determined driving maneuver profile, and/or other information.

In some implementations, control module 36 may be configured to causeone or more sensors 14 to operate continuously. For example, controlmodule 36 may cause a video camera (e.g., sensor 14) to continuouslygenerate video images of vehicle 12 and/or other vehicles. Controlmodule 36 may be configured to cause system 10 to continuously buffervideo, audio, sensor, and/or other data. Control module 36 may beconfigured such that once an event occurs, the buffered data related tothe event is transferred from a volatile to a non-volatile memory.Control module 36 is configured such that a determination is made inreal-time as to whether or not the data related to the event should beoffloaded immediately or kept on the device as backup. Control module 36may facilitate wireless communication of the video images in real-timeto remote computing device 22. In some implementations, control module36 may be configured to cause one or more sensors to operate atpre-determined intervals, responsive to detected driving maneuvers,and/or at other times.

FIG. 3 and FIG. 4 illustrate methods 300 and 400 to detect execution ofdriving maneuvers. The operations of method 300 and/or 400 presentedbelow are intended to be illustrative. In some implementations, method300 and/or 400 may be accomplished with one or more additionaloperations not described, and/or without one or more of the operationsdiscussed. Additionally, the order in which the operations of method 300and/or 400 are illustrated (in FIG. 3 and FIG. 4) and described below isnot intended to be limiting. In some implementations, two or more of theoperations may occur substantially simultaneously.

In some implementations, method 300 and/or 400 may be implemented in oneor more processing devices (e.g., a digital processor, an analogprocessor, a digital circuit designed to process information, an analogcircuit designed to process information, a state machine, and/or othermechanisms for electronically processing information). The one or moreprocessing devices may include one or more devices executing some or allof the operations of method 300 and/or 400 in response to instructionsstored electronically on one or more electronic storage mediums. The oneor more processing devices may include one or more devices configuredthrough hardware, firmware, and/or software to be specifically designedfor execution of one or more of the operations of method 300 and/or 400.

Referring to FIG. 3 and method 300, at an operation 302, output signalsconveying information related to the operation of the vehicle, thecontext of the vehicle, and/or other information may be generated. Insome implementations, generating output signals conveying informationrelated to the operation and/or the context of the vehicle may includeacquiring visual information representing the vehicle environment. Thevehicle environment may include spaces in and around an interior and anexterior of the vehicle. In some implementations, the output signals mayconvey information related to mechanical systems of the vehicle. Theoutput signals conveying information related to mechanical systems ofthe vehicle may be generated by one or more vehicle subsystem sensorsincluded in a vehicle on-board data system. In some implementations,operation 302 may be performed by one or more sensors the same as orsimilar to sensors 14 (shown in FIG. 1 and described herein).

At an operation 304, execution by the vehicle of a specific drivingmaneuver may be detected. In some implementations, the specific drivingmaneuver may include a swerve, a U-turn, freewheeling, over-revving,lane-departure, short following, imminent collision, and/or otherdriving maneuvers. The detection may be in real-time or near real-time.The detection may be based on the information conveyed by the outputsignals from the one or more sensors and/or other information. In someimplementations, operation 304 may be performed by a processor modulethe same as or similar to maneuver trigger module 34 (shown in FIG. 1and described herein).

At an operation 306, wireless communication of the information conveyedby the output signals may be facilitated. The facilitation of thewireless communication may be in real-time or near real-time. Thefacilitation of the wireless communication may be responsive to thedetection of the specific driving maneuver. The information conveyed bythe output signals that is wirelessly communicated may includeinformation for a period of time that includes at least the specificdriving maneuver and/or other information. The information may include,for example, video and/or other data associated with an event and/ormaneuver. In some implementations, operation 306 may be performed by aprocessor module the same as or similar to control module 36 (shown inFIG. 1 and described herein).

At an operation 308, electronic storage of the information conveyed bythe output signals may be facilitated. Facilitation of the electronicstorage may be responsive to the detection of the specific drivingmaneuver. The electronically stored information may include theinformation for the period of time that includes at least the specificdriving maneuver and/or other information. In some implementations,operation 308 may be performed by a processor module and/or electronicstorage the same as or similar to control module 36 and/or electronicstorage 20 (shown in FIG. 1 and described herein).

Referring to FIG. 4 and method 400, at an operation 402, output signalsconveying information related to the operation of a vehicle, the contextof the vehicle, and/or other information may be generated. Operation 402may include generating output signals conveying information related toone or more of mechanical systems of the vehicle, movement of thevehicle, an orientation of the vehicle, a geographic position of thevehicle, a spatial position of the vehicle relative to other objects,and/or other operational/contextual characteristics of the vehicle. Insome implementations, operation 402 may be performed by one or moresensors the same as or similar to sensors 14 (shown in FIG. 1 anddescribed herein).

At an operation 404, one or more vehicle parameters may be determined.The one or more vehicle parameters may be determined based on the outputsignals and/or other information. The one or more vehicle parameters maybe related to the operation of the vehicle, the context of the vehicle,and/or other vehicle parameters. In some implementations, the one ormore vehicle parameters may be determined one or more times in anongoing manner during operation of the vehicle. In some implementations,operation 404 may be performed by a processor module the same as orsimilar to parameter module 30 (shown in FIG. 1 and described herein).

At an operation 406, one or more pre-determined driving maneuverprofiles may be obtained. The one or more pre-determined drivingmaneuver profiles may include criteria sets associated with drivingmaneuvers. The one or more pre-determined driving maneuver profiles mayinclude a first pre-determined driving maneuver profile having a firstcriteria set, for example. The first criteria set may include a firstindividual criterion and a second individual criterion. In someimplementations, the first individual criterion and the secondindividual criterion for the first pre-determined driving maneuverprofile may be associated with information conveyed by output signalsfrom at least two different sensors.

In some implementations, operation 406 may include scaling the firstindividual criterion and/or the second individual criterion in the firstpre-determined driving maneuver profile based on the output signals, thedetermined parameters, and/or other information. The scaling may beperformed in real-time or near real-time during operation of thevehicle. In some implementations, operation 406 may be performed by aprocessor module the same as or similar to profile module 32 (shown inFIG. 1 and described herein).

At an operation 408, execution by the vehicle of a specific drivingmaneuver profile may be detected. The detection may be based on thevehicle parameters and the pre-determined driving maneuver profiles.Execution of the specific driving maneuver may be detected by comparingthe determined vehicle parameters to the criteria sets such that, forexample, a first specific driving maneuver is detected responsive to thedetermined parameters satisfying the first individual criterion and thesecond individual criterion. In some implementations, operation 408 maybe performed by a processor module same as or similar to maneuvertrigger module 34 (shown in FIG. 1 and described herein).

Returning to FIG. 1, user interface 18 is configured to provide aninterface between system 10 and users through which the users mayprovide information to and receive information from system 10. Thisenables pre-determined profiles, criteria, data, cues, results,instructions, and/or any other communicable items, collectively referredto as “information,” to be communicated between a user and one or moreof processor 16, sensors 14, vehicle 12, remote computing device 22,and/or other components of system 10. As an example, a dangerous drivingcue may be displayed to the driver of vehicle 12 via user interface 18.

In some implementations, a user interface may be included in remotecomputing device 22. In some implementations, remote computing device 22performs these actions (e.g., changing criteria, selecting profiles,etc.) in an automated fashion and/or in response to the user input intoremote computing device 22 rather than in response to direct user inputthrough user interface 18. For example, a user may enter, select, and/orupload a predetermined profile using remote computing device 22. In someimplementations, the system described herein achieves scalability bylimiting the necessity for users to use user interface 18 separately atindividual vehicles.

Examples of interface devices suitable for inclusion in user interface18 and/or a user interface in remote computing device 22 comprise akeypad, buttons, switches, a keyboard, knobs, levers, a display screen,a touch screen, speakers, a microphone, an indicator light, an audiblealarm, a printer, a tactile feedback device, and/or other interfacedevices. In one implementation, user interface 18 and/or the userinterface in remote computing device 22 comprises a plurality ofseparate interfaces. In one implementation, user interface 18 comprisesat least one interface that is provided integrally with processor 16and/or electronic storage 20.

It is to be understood that other communication techniques, eitherhard-wired or wireless, are also contemplated by the present disclosureas user interface 18 and/or the user interface included in remotecomputing device 22. For example, the present disclosure contemplatesthat user interface 18 and/or the user interface included in remotecomputing device 22 may be integrated with a cellular and/or wireless(W-Fi) connection. In some implementations, user interface 18 and/or theuser interface included in remote computing device 22 may be included ina removable storage interface provided by electronic storage 20(although this implementation may not be as scalable as integration witha cellular and/or wireless connection). In these examples, informationmay be loaded into system 10 wirelessly from a remote location, fromremovable storage (e.g., a smart card, a flash drive, a removable disk,etc.), and/or other sources that enable the user(s) to customize theimplementation of system 10. Other exemplary input devices andtechniques adapted for use with system 10 as user interface 18 comprise,but are not limited to, an RS-232 port, RF link, an IR link, modem(telephone, cable, and/or other modems), a cellular network, a W-Finetwork, a local area network, and/or other devices and/or systems. Inshort, any technique for communicating information with system 10 iscontemplated by the present disclosure as user interface 18 and/or theuser interface included in remote computing device 22.

Electronic storage 20 may comprise electronic storage media thatelectronically stores information. The electronic storage media ofelectronic storage 20 may comprise one or both of system storage that isprovided integrally (i.e., substantially non-removable) with system 10and/or removable storage that is removably connectable to system 10 via,for example, a port (e.g., a USB port, a firewire port, etc.) or a drive(e.g., a disk drive, etc.). Electronic storage 20 may comprise one ormore of optically readable storage media (e.g., optical disks, etc.),magnetically readable storage media (e.g., magnetic tape, magnetic harddrive, floppy drive, etc.), electrical charge-based storage media (e.g.,EEPROM, RAM, etc.), solid-state storage media (e.g., flash drive, etc.),and/or other electronically readable storage media. Electronic storage20 may store software algorithms, recorded video event data, informationdetermined by processor 16, information received via user interface 18,and/or other information that enables system 10 to function properly.Electronic storage 20 may be (in whole or in part) a separate componentwithin system 10, or electronic storage 20 may be provided (in whole orin part) integrally with one or more other components of system 10(e.g., user interface 18, processor 16, etc.).

Remote computing device 22 may include one or more processors, a userinterface, electronic storage, and/or other components. Remote computingdevice 22 may be configured to enable a user to interface with system 10(e.g., as described above), and/or provide other functionalityattributed herein to remote computing device 22. Remote computing device22 may be configured to communicate with processor 16 via a network suchas the internet, cellular network, W-Fi network, Ethernet, and otherinterconnected computer networks. Remote computing device 22 mayfacilitate viewing and/or analysis of the information conveyed by theoutput signals of sensors 14, the information determined by processor16, the information stored by electronic storage 20, and/or otherinformation. By way of non-limiting example, remote computing device 22may include one or more of a server, a server cluster, desktop computer,a laptop computer, a handheld computer, a tablet computing platform, aNetBook, a Smartphone, a gaming console, and/or other computingplatforms.

In some implementations, remote computing device 22 may be and/orinclude a server. The server may include communication lines, or portsto enable the exchange of information with a network, processor 16 ofsystem 10, and/or other computing platforms. The server may include aplurality of processors, electronic storage, hardware, software, and/orfirmware components operating together to provide the functionalityattributed herein to remote computing device 22. For example, the servermay be implemented by a cloud of computing platforms operating togetheras a system server.

As described above, processor 16 may be configured to provideinformation processing capabilities in system 10. As such, processor 16may comprise one or more of a digital processor, an analog processor, adigital circuit designed to process information, an analog circuitdesigned to process information, a state machine, and/or othermechanisms for electronically processing information. Although processor16 is shown in FIG. 1 as a single entity, this is for illustrativepurposes only. In some implementations, processor 16 may comprise aplurality of processing units. These processing units may be physicallylocated within the same device (e.g., a vehicle event recorder), orprocessor 16 may represent processing functionality of a plurality ofdevices operating in coordination.

Processor 16 may be configured to execute modules 30, 32, 34, and/or 36by software; hardware; firmware; some combination of software, hardware,and/or firmware; and/or other mechanisms for configuring processingcapabilities on processor 16. It should be appreciated that althoughmodules 30, 32, 34, and 36 are illustrated in FIG. 1 as being co-locatedwithin a single processing unit, in implementations in which processor16 comprises multiple processing units, one or more of modules 30, 32,34, and/or 36 may be located remotely from the other modules. Thedescription of the functionality provided by the different modules 30,32, 34, and/or 36 described herein is for illustrative purposes, and isnot intended to be limiting, as any of modules 30, 32, 34, and/or 36 mayprovide more or less functionality than is described. For example, oneor more of modules 30, 32, 34, and/or 36 may be eliminated, and some orall of its functionality may be provided by other modules 30, 32, 34,and/or 36. As another example, processor 16 may be configured to executeone or more additional modules that may perform some or all of thefunctionality attributed below to one of modules 30, 32, 34, and/or 36.

Although the system(s) and/or method(s) of this disclosure have beendescribed in detail for the purpose of illustration based on what iscurrently considered to be the most practical and preferredimplementations, it is to be understood that such detail is solely forthat purpose and that the disclosure is not limited to the disclosedimplementations, but, on the contrary, is intended to covermodifications and equivalent arrangements that are within the spirit andscope of the appended claims. For example, it is to be understood thatthe present disclosure contemplates that, to the extent possible, one ormore features of any implementation can be combined with one or morefeatures of any other implementation.

What is claimed is:
 1. A system configured to detect execution of driving maneuvers by a vehicle, the system comprising: one or more sensors configured to generate output signals conveying information related to operation and/or context of the vehicle; and one or more processors configured by computer-readable instructions to: detect execution, by the vehicle, of a specific driving maneuver based on the information conveyed by the output signals from the one or more sensors; and responsive to detection of the execution of the specific driving maneuver, facilitate wireless communication of the information conveyed by the output signals for a period of time that includes at least the specific driving maneuver, wherein the information is communicated to a remote computing device.
 2. The system of claim 1, wherein detection of the execution of the specific driving maneuver is further based on a predetermined driving maneuver profile, wherein the predetermined driving maneuver profile has a criteria set including a first individual criterion and a second individual criterion such that detection of the execution of the specific driving maneuver occurs responsive to satisfaction of the first individual criterion and the second individual criterion as determined based on the generated output signals.
 3. The system of claim 1, wherein the one or more sensors are configured such that the information related to operation and/or context of the vehicle includes video information.
 4. The system of claim 1, wherein the period of time is centered around the specific driving maneuver and includes a pre-maneuver time, a specific driving maneuver time, a time position of the maneuver, and a post-maneuver time, wherein the pre-maneuver time and the post-maneuver time are approximately equal.
 5. The system of claim 1, wherein the one or more processors are further configured to, responsive to the detection of the execution of the specific driving maneuver, facilitate electronic storage of the information conveyed by the output signals for the period of time that includes at least the specific driving maneuver.
 6. The system of claim 1, wherein the one or more sensors include at least one camera configured to acquire visual information representing a vehicle environment, the vehicle environment including spaces in and around an interior and an exterior of the vehicle.
 7. A system configured to detect execution of driving maneuvers by a vehicle, wherein the system is further configured to couple with the vehicle, the system comprising: one or more sensors configured to generate output signals conveying information related to operation and/or context of the vehicle; and one or more processors configured by computer-readable instructions to: detect execution by the vehicle of a specific driving maneuver based on the information conveyed by the generated output signals, wherein the specific driving maneuver includes one or more of a swerve, a U-turn, freewheeling, over-revving, lane-departure, short following, imminent collision, a sustained left turn indicating a potential overturn on a cloverleaf, or a sustained right turn indicating a potential overturn on a cloverleaf, wherein the one or more processors are further configured to filter the detected driving maneuver based on pre-determined geo-fences.
 8. The system of claim 7, wherein geo-fences are virtual boundaries that define physical areas where one or more driving maneuvers are permissible or are not permissible, and wherein the one or more processors are further configured to filter the detected driving maneuver based on both the geo-fences and the time of day.
 9. The system of claim 7, wherein detection of the execution of the specific driving maneuver is further based on a predetermined driving maneuver profile, wherein the predetermined driving maneuver profile has a criteria set including a first individual criterion and a second individual criterion such that detection of the execution of the specific driving maneuver occurs responsive to satisfaction of the first individual criterion and the second individual criterion as determined based on the generated output signals.
 10. The system of claim 7, wherein the one or more sensors are configured such that the information related to operation and/or context of the vehicle includes video information.
 11. The system of claim 7, wherein the period of time is centered around the specific driving maneuver and includes a pre-maneuver time, a specific driving maneuver time, a time position of the maneuver, and a post-maneuver time, wherein the pre-maneuver time and the post-maneuver time are approximately equal.
 12. The system of claim 7, wherein the one or more processors are further configured to, responsive to the detection of the execution of the specific driving maneuver, facilitate electronic storage of the information conveyed by the output signals for the period of time that includes at least the specific driving maneuver.
 13. The system of claim 7, wherein the one or more sensors include at least one camera configured to acquire visual information representing a vehicle environment, the vehicle environment including spaces in and around an interior and an exterior of the vehicle.
 14. A method to detect execution of driving maneuvers by a vehicle, the method comprising: generating, by one or more sensors, output signals conveying information related to operation and/or context of the vehicle; determining one or more vehicle parameters based on the output signals, the one or more vehicle parameters being related to the operation and/or context of the vehicle; detecting execution by the vehicle of a specific driving maneuver based on the information conveyed by the output signals from the one or more sensors; and responsive to detecting the execution of the specific driving maneuver, facilitating wireless communication of the information conveyed by the output signals for a period of time that includes at least the specific driving maneuver, wherein the information is communicated to a remote computing device.
 15. The method of claim 14, further comprising: obtaining one or more pre-determined driving maneuver profiles, the one or more pre-determined driving maneuver profiles including criteria sets associated with driving maneuvers, the one or more pre-determined driving maneuver profiles including a first pre-determined driving maneuver profile having a first criteria set, the first criteria set including a first individual criterion and a second individual criterion; and wherein detecting the execution by the vehicle of the specific driving maneuver is further based on the one or more determined vehicle parameters and the obtained predetermined driving maneuver profiles by comparing the one or more determined vehicle parameters to the criteria sets such that a first specific driving maneuver is detected responsive to the determined parameters satisfying the first individual criterion and the second individual criterion.
 16. The method of claim 15, further comprising scaling the first individual criterion and/or the second individual criterion in the first pre-determined driving maneuver profile based on the output signals and/or the one or more determined vehicle parameters.
 17. The method of claim 16, wherein scaling is performed in real-time or near real-time during operation of the vehicle.
 18. The method of claim 15, wherein the first individual criterion and the second individual criterion for the first pre-determined driving maneuver profile are associated with information conveyed by output signals from at least two different sensors.
 19. The method of claim 14, wherein the generated output signals conveying information related to one or more of mechanical systems of the vehicle, movement of the vehicle, an orientation of the vehicle, a geographic position of the vehicle, or a spatial position of the vehicle relative to other objects.
 20. The method of claim 14, wherein the one or more sensors include at least one camera configured to acquire visual information representing a vehicle environment, the vehicle environment including spaces in and around an interior and an exterior of the vehicle. 